             package com.java.diagnostics.visualizer.recommender.balanced;
             
             import com.java.diagnostics.visualizer.data.AggregateData;
             import com.java.diagnostics.visualizer.data.DataPoint;
             import com.java.diagnostics.visualizer.data.TupleData;
             import com.java.diagnostics.visualizer.recommender.Recommendation;
             import com.java.diagnostics.visualizer.recommender.RecommendationBase;
             import com.java.diagnostics.visualizer.recommender.util.RecommendationLabels;
             
             public class LookForJNIWarning
               extends RecommendationBase
               implements Recommendation
             {
               public void recommend(AggregateData data)
               {
                 TupleData markTimes = data.getTupleData("VGCLabels.mark.times");
                 
                 if (markTimes != null) {
                   DataPoint[] markTimePoints = markTimes.getDataPoints();
                   for (DataPoint markTime : markTimePoints) {
                     if (markTime.getComment().toLowerCase().contains("mark invoked due to active jni critical regions")) {
                       addProblem(data, RecommendationLabels.JNI_WARNING);
                       return;
                     }
                   }
                 }
               }
             }


